/**
 * 
 */
package com.feib.stms.batch.domain;

import java.util.Date;
import java.util.Set;


/**
 * @author Jeff Gu
 *
 */
public class Transfer extends AuditEntity{

	/**
	 * 
	 */
	private static final long serialVersionUID = 8128541546396102329L;
	
	
	
	/**
     * 1.Transfer
     */
	private Long  transferPk ;
	
	
	/**
	 * 2.fk UPLOAD_FILE_PK 
	 */
	private UploadFile  uploadFile;


	
	/**
	 * YEAR_SN 		Varchar2 (1) 		
	 * 百年記號 X(01) “H”  
	 */
	private String yearSn;
	
	
	/**
	 *4. 存款帳號 
	 *999-999-9999999-9 分行別-科目別-序號-檢碼 
	 */
	private String accountNo;
	
	/**
	 * SUMMARY 		Varchar2 (30) 	 	
	 * 摘要9(03)EX:014迳薪轉，261迳授權轉(請依據所需性質放置)
	 */
	private  String summary;
	
	/**
	 * TRANSFER_AMOUNT 		Number (13,2) 		
	 * 轉帳金額9(11)V99右靠左補零，後兩位小數位(11位整數，2位小數)
	 */
	private  Long transferAmount;
	
	
	/**
	 * TRANFER_DATE 		Varchar2 (7) 		
	 * 轉帳日期 9(07) 國曆型式：YYYMMDD 
	 */
	private  String  tranferDate;
	
	
	/**
	 * BANKBOOK 		Varchar2 (14) 		
	 * 存摺摘要 X(14) 存摺摘要或用戶編號(無存摺摘要放置空白)
	 */
	
	private  String bankbook;
	
	
	/**
	 * TARGET_ACCOUNT Varchar2 (14) 
	 * 對方帳號 9(14) 999-999-9999999-9分行別-科目別-序號-檢碼(無對方帳號放置空白)
	 */
	
	private String targetAccount;
	
	/**
	 * PROMOTER 		Varchar2 (6) 			
	 * 推廣人編號 9(06) 適用於組合式存款交易 
	 */
	private String  promoter;
	
	/**
	 * RECEIVE_BRANCH 		Varchar2 (3) 	
	 * 收件行 9(03) 適用於組合式存款交易 
	 */
	private String receiveBranch;
	
	/**
	 * UBN 		Varchar2 (11) 		
	 * 統一編號 X(11) 適用於組合式存款交易 
	 */
	private  String ubm;
	
	/**
	 * USERNAME Varchar2(68),
	 * 戶名	X(68)	適用於組合式存款交易 
	 */
	private String username;
	
	
	/**
	 * ZONE_CODE 		Varchar2 (5) 			
	 * 通訊地址郵遞區號 9(05) 
	 */
	private String zoneCode;
	
	
	/** 
	 *	ADDRESS 		Varchar2 (80) 		
	 *	通訊地址 X(80) 
	 */
	private  String address;
	
	/**
	 * SECRET_NO 		Varchar2 (30) 				
	 * 秘密戶記號 9(01) 
	 */
	private  String secretNo;
	
	/**	
	*	TRANSACTION_SN 		Varchar2 (16) 	NO 	NO 			交易序號  做為查詢結果的判斷，以交割日期加八碼流水號
	*/
	
	private String transactionSn;
	
	/**
	 * 電文結果MQ_RESULT Varchar2(30)
	 */
	private String mqResult;
	
	/**
	 * 電文原因 MQ_REASON Varchar2(30), EX:淨付大於淨收不用驗'
	 */
	private String mqReason;
	
	/**
	 * MQ_TIME 電文最後接收時間
	 */
	private Date mqTime;
	
	
	/**
	 *電文
	 */
	private Set<MessageQueue> mailQueue ;
	
	
	
	/**
	 * @param transferPk 的設定的 transferPk
	 */
	public void setTransferPk(Long transferPk) {
		this.transferPk = transferPk;
	}


	/**
	 * @return transferPk
	 */
	public Long getTransferPk() {
		return transferPk;
	}


	/**
	 * @param uploadFile 的設定的 uploadFile
	 */
	public void setUploadFile(UploadFile uploadFile) {
		this.uploadFile = uploadFile;
	}


	/**
	 * @return uploadFile
	 */
	public UploadFile getUploadFile() {
		return uploadFile;
	}


	/**
	 * @param yearSn 的設定的 yearSn
	 */
	public void setYearSn(String yearSn) {
		this.yearSn = yearSn;
	}


	/**
	 * @return yearSn
	 */
	public String getYearSn() {
		return yearSn;
	}


	/**
	 * @param accountNo 的設定的 accountNo
	 */
	public void setAccountNo(String accountNo) {
		this.accountNo = accountNo;
	}


	/**
	 * @return accountNo
	 */
	public String getAccountNo() {
		return accountNo;
	}


	/**
	 * @param summary 的設定的 summary
	 */
	public void setSummary(String summary) {
		this.summary = summary;
	}


	/**
	 * @return summary
	 */
	public String getSummary() {
		return summary;
	}


	/**
	 * @param transferAmount 的設定的 transferAmount
	 */
	public void setTransferAmount(Long transferAmount) {
		this.transferAmount = transferAmount;
	}


	/**
	 * @return transferAmount
	 */
	public Long getTransferAmount() {
		return transferAmount;
	}


	/**
	 * @param tranferDate 的設定的 tranferDate
	 */
	public void setTranferDate(String tranferDate) {
		this.tranferDate = tranferDate;
	}


	/**
	 * @return tranferDate
	 */
	public String getTranferDate() {
		return tranferDate;
	}


	/**
	 * @param bankbook 的設定的 bankbook
	 */
	public void setBankbook(String bankbook) {
		this.bankbook = bankbook;
	}


	/**
	 * @return bankbook
	 */
	public String getBankbook() {
		return bankbook;
	}


	/**
	 * @param targetAccount 的設定的 targetAccount
	 */
	public void setTargetAccount(String targetAccount) {
		this.targetAccount = targetAccount;
	}


	/**
	 * @return targetAccount
	 */
	public String getTargetAccount() {
		return targetAccount;
	}


	/**
	 * @param promoter 的設定的 promoter
	 */
	public void setPromoter(String promoter) {
		this.promoter = promoter;
	}


	/**
	 * @return promoter
	 */
	public String getPromoter() {
		return promoter;
	}


	/**
	 * @param receiveBranch 的設定的 receiveBranch
	 */
	public void setReceiveBranch(String receiveBranch) {
		this.receiveBranch = receiveBranch;
	}


	/**
	 * @return receiveBranch
	 */
	public String getReceiveBranch() {
		return receiveBranch;
	}


	/**
	 * @param ubm 的設定的 ubm
	 */
	public void setUbm(String ubm) {
		this.ubm = ubm;
	}


	/**
	 * @return ubm
	 */
	public String getUbm() {
		return ubm;
	}


	/**
	 * @param username 的設定的 username
	 */
	public void setUsername(String username) {
		this.username = username;
	}


	/**
	 * @return username
	 */
	public String getUsername() {
		return username;
	}


	/**
	 * @param zoneCode 的設定的 zoneCode
	 */
	public void setZoneCode(String zoneCode) {
		this.zoneCode = zoneCode;
	}


	/**
	 * @return zoneCode
	 */
	public String getZoneCode() {
		return zoneCode;
	}


	/**
	 * @param address 的設定的 address
	 */
	public void setAddress(String address) {
		this.address = address;
	}


	/**
	 * @return address
	 */
	public String getAddress() {
		return address;
	}


	/**
	 * @param secretNo 的設定的 secretNo
	 */
	public void setSecretNo(String secretNo) {
		this.secretNo = secretNo;
	}


	/**
	 * @return secretNo
	 */
	public String getSecretNo() {
		return secretNo;
	}


	/**
	 * @param transactionSn 的設定的 transactionSn
	 */
	public void setTransactionSn(String transactionSn) {
		this.transactionSn = transactionSn;
	}


	/**
	 * @return transactionSn
	 */
	public String getTransactionSn() {
		return transactionSn;
	}


	/**
	 * @param mqResult 的設定的 mqResult
	 */
	public void setMqResult(String mqResult) {
		this.mqResult = mqResult;
	}


	/**
	 * @return mqResult
	 */
	public String getMqResult() {
		return mqResult;
	}


	/**
	 * @param mqReason 的設定的 mqReason
	 */
	public void setMqReason(String mqReason) {
		this.mqReason = mqReason;
	}


	/**
	 * @return mqReason
	 */
	public String getMqReason() {
		return mqReason;
	}


	/**
	 * @param mqTime 的設定的 mqTime
	 */
	public void setMqTime(Date mqTime) {
		this.mqTime = mqTime;
	}


	/**
	 * @return mqTime
	 */
	public Date getMqTime() {
		return mqTime;
	}


	/**
	 * @param mailQueue 的設定的 mailQueue
	 */
	public void setMailQueue(Set<MessageQueue> mailQueue) {
		this.mailQueue = mailQueue;
	}


	/**
	 * @return mailQueue
	 */
	public Set<MessageQueue> getMailQueue() {
		return mailQueue;
	}
	
	
	

}
